package edu.ptu.springboot04.common.controller;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 基础JSON响应封装类
 *
 * @BelongsProject: springboot04
 * @BelongsPackage: edu.ptu.springboot04.common.controller
 * @Author: HYJ
 * @CreateTime: 2025-03-20  21:09
 * @Description: 提供最小化的JSON响应格式封装
 * 包含以下功能：
 * 1. 基础成功/失败响应构建
 * 2. 标准化响应码(code)和消息(msg)字段
 * @Version: 1.0
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class JsonResponse {
    // 响应状态码 (200=成功，500=服务器错误)
    private int code;
    // 响应提示信息
    private String msg;

    /**
     * 构建成功响应（使用默认消息）
     *
     * @return 包含200 状态码的响应对象
     */
    public static JsonResponse success() {
        return new JsonResponse(200, "success");
    }

    /**
     * 构建失败响应（使用默认消息）
     *
     * @return 包含500 状态码的响应对象
     */
    public static JsonResponse fail() {
        return new JsonResponse(500, "fail");
    }
}
